import request from "@/utils/request"

/**
 * 修改用户布局配置
 * 
 * @async
 * @param {Object} data - 请求数据对象
 * @param {number} data.user_id - 用户ID
 * @param {string[]} data.layouts - 用户布局配置数组
 * @returns {Promise<Object>} 响应结果
 * @returns {string} response.message - 响应消息
 * @returns {number} response.code - 响应状态码
 * 
 * @example
 * // 修改用户布局
 * const result = await editLayoutApi({
 *   user_id: 12345,
 *   layouts: ['layout1', 'layout2']
 * });
 * // 返回结果示例
 * // { message: "更新成功", code: 0 }
 */
export const editLayoutApi = (data) => {
    return request.patch('/layout/', data)
}

/**
 * 获取用户布局配置
 * 
 * @async
 * @param {Object} params - 请求参数对象
 * @param {number} params.id - 用户ID
 * @returns {Promise<Object>} 响应结果
 * @returns {string[]} response.data - 用户布局配置数组
 * @returns {string} response.message - 响应消息
 * @returns {number} response.code - 响应状态码
 * 
 * @example
 * // 获取用户布局
 * const result = await getLayoutApi({ id: 12345 });
 * // 返回结果示例
 * // { 
 * //   data: ['layout1', 'layout2'],
 * //   message: "获取成功",
 * //   code: 0
 * // }
 * 
 * @throws {Error} 当请求失败时抛出错误
 */
export const getLayoutApi = (params) => {
    return request.get('/layout/', {
        params
    })
}